←
▼
▲
Function PartCmp_compareFiles( WholePath as string, PartPath as string,
StartTag as string, Opt as PartCmp_Option ) as Boolean
【引数】
PartPath
WholePath
WholePath の一部と比較する内容が書かれたファイルのパス
PartPath と比較するフォルダーのパス。ファイル名のワイルドカード可
StartTag
WholePath の中の比較するテキストの最初の行に含まれるテキスト
返り値
Opt
or Empty
WholePath の内容の一部が PartPath の内容と同じかどうか
Class PartCmp_Option
Public ExceptFolder
Public bSubFolder
Public BatPath
Public BatVar
Public LimitStartLines
Public MaxByteOfLine
End Class
サブフォルダの WholePath も比較するかどうか or Empty
異なったファイルパスを出力するファイルのパス or Empty
WholePath の中で比較しないフォルダのパス or Empty
BatPath の中で設定する環境変数名 or Empty
の vbslib インターフェイスです。
StartTag を探す最大行数。デフォルト 65535
1行のバイト数が超えたら比較しない。 デフォルト 4096
Same
出力例:
(src)
Set partcmp_opt = new PartCmp_Option
partcmp_opt.ExceptFolder = "Files\ExceptFolder1"
partcmp_opt.bSubFolder = True
b = PartCmp_compareFiles( "Files\*.txt", "Part.txt", "--- sample"+" header ---",_
partcmp_opt )
If not b Then Raise 1, "比較している部分の内容に違いが見つかりました。"
サンプル
←
▼
▲
(src)
(src)
PartCmp_compareFile
(src)
←
▼
▲
cscript PartRep.vbs C:\from.txt C:\to.txt C:\dst.txt
cscript PartRep.vbs [/G][/S][/E:path][/A:n] from_file to_file dst_file
テキストファイルの一部を置き換えます。
【引数】
from_file
to_file
置き換える前のテキストが入ったファイルのパス
置き換えた後のテキストが入ったファイルのパス
サンプル
C:\from.txt
C:\dst.txt 実行前
---[start]---
delete1
delete2
---[end]----
replacing
---[start]---
delete1
delete2
---[end]----
after text
C:\dst.txt 実行後
replacing
start
and
end
after text
/G オプション付きで実行(=置換)する前に、バックアップを取ってください。
一部を置き換えるファイルのパス。ワイルドカード可
dst_file
C:\to.txt
start
and
end
/S
付けたとき: サブフォルダの dst_file も置き換える
/G
置き換えを行う。(なし=置き換え予定のパスの一覧のみ)
/E:path
置き換えしないフォルダのパス
/A:n
from_file と to_file のペアの数。省略=1
cscript PartRep.vbs /A:2 from1.txt to1.txt from2.txt to2.txt dst*.txt
/A オプションで指定した数は、from_file と to_file のペアの数です。
/A:2 のときは、from_file が 2つ、to_file が 2つ、dst_file が 1つになります。
1つのファイルで、すべての from_file がマッチするものだけ、それぞれの
to_file に置き換えます。 片方だけマッチするファイルには何もしません。
from1.txt → from2.txt の順番でないときも何もしません。
start1
AND
end1
to1.txt
replacing
start1
AND
end1
inter text
start2
OR
end2
after text
dst1.txt (実行後)
replacing
start1
and
end1
inter text
start2
or
end2
after text
start1
and
end1
dst1.txt (実行前)
from1.txt
start2
or
end2
to2.txt
start2
OR
end2
from2.txt
dst1.txt (実行前)
replacing
start1
and
end1
after text
dst1.txt (実行後)
replacing
start1
and
end1
after text
from1.txt だけマッチしたものは何もしない
to1.txt と to2.txt にそれぞれ置き換え
(下記)
→ PartRep フォルダ
サンプル
通常、/S オプションを付けて、dst_file に指定したフォルダーとそのサブ・フォルダーの
中から、dst_file に指定したワイルドカードに一致するすべてのファイルを調べ、
from_file の内容と一致したら部分があれば、to_file の内容に置き換えます。
65536行目までに from.txt と一致するテキストが無いとき、置き換えるテキストが 50行を
超えるとき、1行が 4096文字を超える場合は、置換を行いません。
サンプル
→ PartRep フォルダ
→ T_PartRep フォルダ
テスト
関連
←
▼
▲
Sub PartRep_replaceFiles( NPair as integer,
FromPath as array of string, ToPath as array of string, DstPath as string,
bReplace as boolean, Opt as PartRep_Option )
の vbslib インターフェイスです。
【引数】
FromPath
ToPath
置き換える前のテキストが入ったファイルのパスの配列
置き換えた後のテキストが入ったファイルのパスの配列
一部を置き換えるフォルダーのパス。 ファイル名のワイルドカード可
DstPath
NPair
FromPath 引数および ToPath の要素数(最大配列番号+1)
bReplace
置き換えを行うかどうか。False=置き換え予定のパスの一覧のみ
Class PartRep_Option
Public ExceptFolder
Public bSubFolder
Public bNoConfirm
Public LimitStartLines
Public MaxByteOfLine
Public LimitReplaceLines
End Class
サブフォルダの DstPath も置き換えるかどうか or Empty
DstPath の中で置き換えをしないフォルダのパス or Empty
置き換えを行う前に、ユーザに確認を取らないかどうか or Empty
Opt
or Empty
StartTag を探す最大行数。デフォルト 1000
1行のバイト数が超えたら比較しない。 デフォルト 4096
置き換える最大行数。デフォルト 1000
FromPath と ToPath の配列要素数は、同じにしてください。
FromPath に複数のファイルパスを指定した場合、指定したすべてのファイルに一致する
テキストを持つファイルだけ、置き換えます。
本関数を呼び出すと、置き換えを行ったファイルのパスを表示します。
PartRep_replaceFile 関数も同じ引数ですが、DstPath にワイルドカードは使えません。
(src)
Set partrep_opt = new PartRep_Option
partrep_opt.ExceptFolder = "work\ExceptFolder1"
partrep_opt.bSubFolder = True
PartRep_replaceFiles 1, Array( "From.txt" ), Array( "To.txt" ), "work\*.txt", True,_
partrep_opt
サンプル
←
▲
PartRep_replaceFiles
main
ExpandWildcard
PartRep_replaceFile